home *** CD-ROM | disk | FTP | other *** search
/ Amiga CD-Sensation: Golden Games / Amiga CD-Sensation - Ausgabe 2 - Golden Games (1996)(GTI - Schatztruhe)(DE)[!].iso / Various / Rocky / std < prev   
Text File  |  1992-03-22  |  2KB  |  138 lines

  1. ***************************************************************************
  2. *    MACRO instructions
  3. *    ------------------
  4. *    (pseudo instruction set extension)
  5. ***************************************************************************
  6.  
  7. * FEDCBA98 76543210        ;whole register is SR; lower byte is CCR
  8. * T-S--III ---XNZVC
  9.  
  10. sec        MACRO             ;function : set the CARRY flag
  11.         ori.b    #%00001,CCR
  12.         ENDM    
  13.  
  14. clc        MACRO            ;function : clear the CARRY flag
  15.         andi.b  #$FF-1,CCR
  16.         ENDM
  17.  
  18. sez        MACRO            ;function : set the ZERO flag
  19.         ori.b    #%00100,CCR
  20.         ENDM
  21.  
  22. clz        MACRO            ;function : clear the ZERO flag
  23.         andi.b  #$FF-4,CCR
  24.         ENDM
  25.  
  26. req        MACRO            ;function : return if ZERO
  27.         beq    dummy
  28.         ENDM
  29.  
  30. rne        MACRO            ;function : return if NOT ZERO
  31.         bne    dummy
  32.         ENDM
  33.  
  34. rcc        MACRO            ;function : return if CARRY CLEAR
  35.         bcc    dummy
  36.         ENDM
  37.  
  38. rcs        MACRO            ;function : return if CARRY SET
  39.         bcs    dummy
  40.         ENDM
  41.  
  42. rpl        MACRO            ;function : return if POSITIVE
  43.         bpl    dummy
  44.         ENDM
  45.  
  46. rmi        MACRO            ;function : return if NEGATIVE
  47.         bmi    dummy
  48.         ENDM
  49.  
  50. clrh        MACRO        ;Dn    ;function : ANDI.L #$0000FFFF,Dn
  51.         swap    \1
  52.         clr.w    \1
  53.         swap    \1
  54.         ENDM
  55.  
  56. MODULO        MACRO            ;DANGER : HUGE LOOP POSSIBILITY
  57.         sub.w    \2,\1
  58.         bpl.s    *-2
  59.         add.w    \2,\1
  60.         ENDM
  61.  
  62. EXEC        MACRO            ;call an EXEC system function
  63.         jsr    _LVO\1(a6)
  64.         ENDM
  65.  
  66. DOS        MACRO            ;call an AmigaDOS system function
  67.         jsr    _LVO\1(a6)
  68.         ENDM
  69.  
  70. GFX        MACRO            ;call a graphics system function
  71.         jsr    _LVO\1(a6)
  72.         ENDM
  73.  
  74. INTUI        MACRO            ;call an Intuition system function
  75.         jsr    _LVO\1(a6)
  76.         ENDM
  77.  
  78. LSTRING        MACRO        ;usage: STRING labelid,<'string parameter'>
  79. \1        dc.w    \1_e-\1_s
  80. \1_s        dc.b    \2
  81. \1_e
  82.         ENDM
  83.  
  84. LSTRINGR    MACRO
  85. \1        dc.w    \1_e-\1_s
  86. \1_s        dc.b    \2,LF
  87. \1_e
  88.         ENDM
  89.  
  90. PRINT_AT    MACRO        ;usage: PRINT_AT  x,y,labelid,<'your string'>
  91.         dc.w    \1,\2
  92. \3        dc.w    \3_e-\3_s
  93. \3_s        dc.b    \4
  94. \3_e
  95.         ENDM
  96.  
  97.  
  98. ***************************************************************************
  99. *    Software Constants
  100. *    ------------------
  101. ***************************************************************************
  102.         
  103. TRUE        equ    -1
  104. FALSE        equ    0
  105. NULL        equ    0
  106.  
  107. ; Names of common ASCII codes
  108.  
  109. SOH        equ    $01
  110. TAB        equ    $09
  111. FF        equ    $0C
  112. SHIFT_OUT    equ    $0E
  113. SHIFT_IN    equ    $0F
  114. ESC        equ    $1B
  115. DOUBLE_QUOTE    equ    $22
  116. SINGLE_QUOTE    equ    $27
  117. COMMA        equ    $2C
  118. SPC        equ    $20
  119.  
  120. CLS        equ    FF    ;Form Feed is used to clear screen
  121.  
  122. ; Common Amiga 4096 colors
  123.  
  124. RED        equ    $f00
  125. GREEN        equ    $0f0
  126. BLUE        equ    $00f
  127. YELLOW        equ    RED+GREEN
  128. CYAN        equ    GREEN+BLUE
  129. MAGENTA        equ    RED+BLUE
  130. WHITE        equ    $FFF
  131. GREY        equ    $777
  132. BLACK        equ    $000
  133.  
  134. _AbsExecBase    equ    4
  135.  
  136. CUSTOM_BASE    equ    $DFF000
  137. COLOR_BASE    equ    $DFF180
  138.